/**
 * 利用递归求N的阶乘
 */
function factorial( n ){
    if( n < 0 ){
        let e = new Error( '负数没有阶乘' ) ;
        throw e ;
    }

    // 数学中规定: 0! 和 1! 都是 1 
    if( n === 0 || n === 1 ){
        return 1 ;
    }
    // 求 n! 可以通过 n * ( n - 1 )!
    return n * factorial( n - 1 );
}

let f = factorial( 6 );
console.log( f );

f = factorial( 0 );
console.log( f );

f = factorial( 1 );
console.log( f );

